<?php
/**
 * 基础物料条码(SKU码)Lib类
 * @author xiayuanjun@shopex.cn
 * @version 1.0
 */
class material_basic_material_barcode{

    function __construct(){
        $this->_materialBarcodeObj = app::get('material')->model('barcode');

        $this->_basicMaterialObj = app::get('material')->model('basic_material');#基础物料_主表
        $this->_materialExtObj   = app::get('material')->model('basic_material_ext');#基础物料_扩展表

    }

    /**
     *
     * 根据基础物料查询对应的基础物料
     * @param Int $bm_id
     * @return String
     */
    public function getBarcodeById($bm_id){
        $barcodeInfo = $this->_materialBarcodeObj->getList('code',array('bm_id'=>$bm_id),0,1);

        return $barcodeInfo ? $barcodeInfo[0]['code'] : '';
        
    }

    /**
     *
     * 根据条码查询对应的基础物料
     * @param Int $barcode
     * @return String
     */
    public function getIdByBarcode($barcode){
        $barcodeInfo = $this->_materialBarcodeObj->getList('bm_id',array('code'=>$barcode),0,1);
        return $barcodeInfo ? $barcodeInfo[0]['bm_id'] : '';
    }

    /**
     *
     * 根据条形码获取所有关联的基础物料bm_id
     * @param string $code
     * @return Array
     */
    public function getBmidListByBarcode($barcode)
    {
        $barcodeInfo = $this->_materialBarcodeObj->getList('bm_id', array('code'=>$barcode), 0, -1);

        $bm_ids    = array();
        foreach ($barcodeInfo as $key => $val)
        {
            $bm_ids[$val['bm_id']]    = $val['bm_id'];
        }

        return $bm_ids;
    }

    /**
     *
     * 根据条形码获取所有关联的基础物料bm_id
     * @param string $code
     * @return Array
     */
    public function getBmidListByFilter($filter)
    {
        $barcodeInfo = $this->_materialBarcodeObj->getList('bm_id', $filter, 0, -1);

        $bm_ids    = array();
        foreach ($barcodeInfo as $key => $val)
        {
            $bm_ids[$val['bm_id']]    = $val['bm_id'];
        }

        return $bm_ids;
    }

}
